package com.diandian.backend.store.mapper;

import com.diandian.backend.store.domain.StoreMeituanShangouStoreInfoTree;
import com.diandian.backend.store.dto.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface StoreMeituanShangouStoreInfoTreeMapper {

    // 查询记录数
    Integer getCount(@Param("data") StoreMeituanShangouStoreInfoTreePageParamDTO requestDTO);

    // 查询分页中的数据集合
    List<StoreMeituanShangouStoreInfoTree> getPage(@Param("data") StoreMeituanShangouStoreInfoTreePageParamDTO requestDTO, @Param("pageSize") Integer pageSize, @Param("offset") Integer offset);

    // 查询详情
    StoreMeituanShangouStoreInfoTree getDetail(@Param("data") StoreMeituanShangouStoreInfoTreeDetailParamDTO requestDTO);

    // 根据数据id更新记录
    void updateById(@Param("data") StoreMeituanShangouStoreInfoTreeUpdateByIdParamDTO param);

    void updateRelation(@Param("data") StoreMeituanShangouStoreInfoTreeUpdateByIdParamDTO param);

    // 根据数据id删除记录
    void deleteById(@Param("data") StoreMeituanShangouStoreInfoTreeDeleteByIdParamDTO param);

    void deleteByStoreCode(@Param("belong") String belong, @Param("orgId") String orgId, @Param("orgCode") String orgCode, @Param("storeCode") String storeCode);

    void remove(@Param("belong") String belong, @Param("orgId") String orgId, @Param("orgCode") String orgCode,
                @Param("nodeCode") String nodeCode, @Param("storeCode") String storeCode);

    // 新增
    void add(@Param("data") StoreMeituanShangouStoreInfoTreeAddParamDTO param);

    // 查询数据集合
    List<StoreMeituanShangouStoreInfoTree> getList(@Param("data") StoreMeituanShangouStoreInfoTreeListParamDTO requestDTO);

}